//
//  ViewController.m
//  08-UITableView
//
//  Created by Snow on 16/7/25.
//  Copyright © 2016年 Snow. All rights reserved.
//

#import "ViewController.h"
#import "UIView+Frame.h"
#define kTableViewReuse @"reuseIdentifier"

@interface ViewController ()<UITableViewDelegate, UITableViewDataSource>
//计数器
@property (nonatomic, assign) NSInteger numberCount;

//必须签订这两个协议
@end

@implementation ViewController
//表视图
- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationController.navigationBar.hidden = YES;
    self.navigationController.navigationBarHidden = YES;
    //UItableView
    //1.创建
    UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped];
    [self.view addSubview:tableView];
    //tablebiew 默认创建为开启状态
//    tableView.alwaysBounceVertical = NO;
    //2.相关属性
    //行高(默认44)
    tableView.rowHeight = 40;
    //预估行高度
    tableView.estimatedRowHeight = 100;
    //tableview.seperatorcolor
    tableView.separatorColor = [UIColor blueColor];
    //分割线样式
    //设置隐藏分割线    UITableViewCellSeparatorStyleNone
    //默认,    UITableViewCellSeparatorStyleSingleLine
    tableView.separatorStyle = 1;
//    //tableView的头视图
//    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//    //headerview 的xy不影响其位置
//    //一般用来放轮播图 个人资料 用户名 之类的
//    headerView.backgroundColor = [UIColor grayColor];
//    [tableView beginUpdates];//开始更新
//    //如果tableheaderview 要进行频繁修改 必须加上这两句话
//    tableView.tableHeaderView = headerView;
//    [tableView endUpdates];
//    tableView.tableHeaderView.x_height = 400;
//    //footerview 会对尾视图产生坐标影响, y不会
//    UIView *footerview = [[UIView alloc] initWithFrame:CGRectMake(10, 1000, self.view.x_width, 200)];
//    footerview.backgroundColor = [UIColor orangeColor];
//    tableView.tableFooterView = footerview;
//    tableView.tableFooterView.x_height = 200;
    //3.tableview 数据展示
    //delegate 代理 帮助tableView执行一些时间
    //datasource 数据源 用来给tableView展示数据
    tableView.delegate = self;
    tableView.dataSource = self;
    //小应用
    //隐藏多余tableView的空cell
    //空cell 一般出现在一个界面只展示几条数据 并且数据占不满整个屏幕
    tableView.tableFooterView = [[UIView alloc] init];
    //注册cell
    [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableViewReuse];
    
}
//返回数据源个数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 20;
}
//返回数据源样式
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //cell创建方式1 直接创建
//  cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kTableViewReuse];
    //从重用池中取出对应标识的cell
    
    //cell创建方式2 从重用池取出对应标识的cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewReuse];
// //如果从重用池中取出的cell为空 创建一个新的cell
//    if (cell == nil) {
//        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kTableViewReuse];
//        _numberCount++;
//        NSLog(@"重新创建新cell---%@, %ld", cell, _numberCount);
//    } else {
//    NSLog(@"重用旧cell---%@", cell);
//    }
    
    //cell 创建方式3 通过registerclass创建
    //注意:cell 注册出来的style是default(没有副标题)
    
//     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewReuse];
    //cell style
//     UITableViewCellStyleDefault 默认样式 没有副标题
//     UITableViewCellStyleValue1 左边黑主标题 右边灰副标题
//     UITableViewCellStyleValue2 左蓝主标题 右灰副标题 没有图片
//    UITableViewCellStyleSubtitle 上主标题 下副标题
    //主标题
    cell.textLabel.text = @"yoho";
    //副标题
    cell.detailTextLabel.text = @"holy high";
    //图片
    cell.imageView.image = [UIImage imageNamed:@"1"];
    return cell;
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
